<!-- array_random.html -->
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script>
		function shuffle1(array) {
		  array.sort(function() {
		    return Math.random() - 0.5;
		  });
		}


		// map() 方法创建一个新数组，其结果是该数组中的每个元素调用一个提供的函数。
		function shuffle2(array) {
		  var random = array.map(Math.random);
		  array.sort(function(a, b) {
		    return random[a] - random[b];
		  });
		}


		//Fisher–Yates shuffle 洗牌算法
		function shuffle3(array) {
		  var m = array.length, t, i;
		  while (m) {
		    i = Math.floor(Math.random() * m--);
		    t = array[m];
		    array[m] = array[i];
		    array[i] = t;
		  }
		}


		var arr=[23,4,5,6,7,8,9,0,3,89,45,709,90,45,9,24,78];
		console.log(arr.length);
			// shuffle1(arr);
			// shuffle2(arr);
			shuffle3(arr);
			
			for(var i=0;i<20;i++){
				shuffle1(arr);
				console.log(arr);
			}
		
	</script>
</body>
</html>